typedef char *(*func_stypes1) (char *);
func_stypes1 bot_get_mask;

typedef char **(*func_sstypes1) (char *);
func_sstypes1 bot_get_userlist;
func_sstypes1 bot_get_chanlist;

typedef char *(*func_stypes1list2) (const char *, ...);
func_stypes1list2 strf;
func_stypes1list2 multi_str_replace;
func_stypes1list2 multi_str_suppr;

typedef void (*func_vtypes1list1) (const char *, ...);
func_vtypes1list1 log_module_infof;
func_vtypes1list1 bot_send_rawf;

typedef void (*func_vtypeml) (module_list *);
func_vtypeml bot_free_module_list;

typedef char *(*func_stypec1u1) (char *, unsigned int);
func_stypec1u1 bot_get_info_from_conf;

typedef module_list *(*func_mltype0) (void);
func_mltype0 bot_get_module_list;

typedef ns_timeout_t (*func_thtypec1s1) (int, char *);
func_thtypec1s1 bot_add_timeout_handler;

typedef ns_timeout_t (*func_thtypei1s1pv1ui1) (int, char *, void *, unsigned int);
func_thtypei1s1pv1ui1 bot_add_timeout_with_param_handler;

typedef char *(*func_ctype0) (void);
func_ctype0 bot_get_kernel_version;

typedef char *(*func_ctype4) (char **, int, char *, int);
func_ctype4 argu_to_string;

typedef char *(*func_ctype3c) (const char *, const char *, const char *);
func_ctype3c str_replace;

typedef char *(*func_ctype2c) (const char *, const char *);
func_ctype2c str_suppr;

typedef int (*func_itype2) (char *, char *);
func_itype2 cmpstar;
func_itype2 is_on_chan;

typedef int (*func_itype1) (char *);
func_itype1 bot_unload_module;
func_itype1 bot_load_module;
func_itype1 bot_unload_module_cmd;
func_itype1 bot_load_module_cmd;
func_itype1 is_botnick;
func_itype1 bot_rm_cmd_handler;
func_itype1 bot_rm_type_handler;

typedef void (*func_vtype1) (char *);
func_vtype1 bot_set_ident_module;
func_vtype1 bot_set_auteur_module;
func_vtype1 bot_set_desc_module;
func_vtype1 bot_set_version_module;
func_vtype1 log_module_info;
func_vtype1 bot_send_raw;
func_vtype1 clean_txt;
func_vtype1 module_loader_rm_link;

typedef void (*func_vtypes2list1) (char *, char *, ...);
func_vtypes2list1 bot_send_privmsgf;
func_vtypes2list1 bot_send_noticef;
func_vtypes2list1 bot_send_actionf;

typedef void (*func_vtype2) (const char *, const char *);
func_vtype2 bot_send_privmsg;
func_vtype2 bot_send_notice;
func_vtype2 bot_send_action;
func_vtype2 module_loader_add_link;

typedef ns_handler_t (*func_htype0) (void);
func_htype0 bot_get_my_handle;

typedef ns_handler_t (*func_htypes1) (char *);
func_htypes1 bot_add_notice_hook;
func_htypes1 bot_add_privmsg_hook;

typedef ns_handler_t (*func_htypes2) (char *, char *);
func_htypes2 bot_add_cmd_handler;
func_htypes2 bot_add_type_handler;
func_htypes2 bot_add_type_hook;

typedef void (*func_vtype0) (void);
func_vtype0 bot_protect_time_module;
func_vtype0 bot_unprotect_time_module;
func_vtype0 bot_actualise_ping;

typedef unsigned int (*func_uitype0) (void);
func_uitype0 bot_get_time_up;
func_uitype0 bot_get_time_online;

typedef int (*func_itypeS1) (identity *, char *);
func_itypeS1 identify_mask;

typedef void (*func_vtypeS1) (identity *);
func_vtypeS1 free_identity;

typedef conf_bot *(*func_btype0) (void);
func_btype0 bot_conf_get_addr;

typedef void (*func_vtypeM1) (msg *);
func_vtypeM1 compar;

typedef void (*func_vtypehv2) (ns_handler_t, void *);
func_vtypehv2 bot_set_handler_data;

typedef void *(*func_pvtype0) (void);
func_pvtype0 bot_get_handler_data;

typedef int (*func_itypeth1) (ns_timeout_t);
func_itypeth1 bot_rm_timeout_handler;

typedef int (*func_itypeh1) (ns_handler_t);
func_itypeh1 bot_rm_handler;

typedef char **(*func_sstypescipi) (const char *, char, int, int *);
func_sstypescipi string_to_argu;

typedef int (*func_itypes3u1) (const char *, const char *, const char *, unsigned int);
func_itypes3u1 bot_update_info_from_conf;

typedef ns_fd_t (*func_fdhtypei2s1pv1) (int, int, const char *, void *);
func_fdhtypei2s1pv1 bot_add_fd_handler;

typedef int (*func_itypei2) (int, int);
func_itypei2 bot_rm_fd;

typedef int (*func_itypefdh1) (ns_fd_t);
func_itypefdh1 bot_rm_fd_handler;

typedef char *(*func_stypes2i1) (const char *, const char *, int);
func_stypes2i1 strpndup;

#ifndef _SHARED_FUNC
#define _SHARED_FUNC

void
init_share_dep (char *nom, void *addr)
{
	if (!strcmp (nom, "log_module_info"))
		log_module_info = (func_vtype1) addr;

	else if (!strcmp (nom, "bot_set_ident_module"))
		bot_set_ident_module = (func_vtype1) addr;

	else if (!strcmp (nom, "bot_set_auteur_module"))
		bot_set_auteur_module = (func_vtype1) addr;

	else if (!strcmp (nom, "bot_set_desc_module"))
		bot_set_desc_module = (func_vtype1) addr;

	else if (!strcmp (nom, "bot_set_version_module"))
		bot_set_version_module = (func_vtype1) addr;

	else if (!strcmp (nom, "bot_send_privmsg"))
		bot_send_privmsg = (func_vtype2) addr;

	else if (!strcmp (nom, "bot_send_notice"))
		bot_send_notice = (func_vtype2) addr;

	else if (!strcmp (nom, "bot_send_raw"))
		bot_send_raw = (func_vtype1) addr;

	else if (!strcmp (nom, "bot_add_cmd_handler"))
		bot_add_cmd_handler = (func_htypes2) addr;

	else if (!strcmp (nom, "bot_add_type_handler"))
		bot_add_type_handler = (func_htypes2) addr;

	else if (!strcmp (nom, "bot_get_time_up"))
		bot_get_time_up = (func_uitype0) addr;

	else if (!strcmp (nom, "is_botnick"))
		is_botnick = (func_itype1) addr;

	else if (!strcmp (nom, "identify_mask"))
		identify_mask = (func_itypeS1) addr;

	else if (!strcmp (nom, "bot_unload_module"))
		bot_unload_module = (func_itype1) addr;

	else if (!strcmp (nom, "bot_load_module"))
		bot_load_module = (func_itype1) addr;

	else if (!strcmp (nom, "bot_unload_module_cmd"))
		bot_unload_module_cmd = (func_itype1) addr;

	else if (!strcmp (nom, "bot_load_module_cmd"))
		bot_load_module_cmd = (func_itype1) addr;
  
	else if (!strcmp (nom, "bot_actualise_ping"))
		bot_actualise_ping = (func_vtype0) addr;

	else if (!strcmp (nom, "bot_get_kernel_version"))
		bot_get_kernel_version = (func_ctype0) addr;

	else if (!strcmp (nom, "module_loader_add_link"))
		module_loader_add_link = (func_vtype2) addr;

	else if (!strcmp (nom, "module_loader_rm_link"))
		module_loader_rm_link = (func_vtype1) addr;

	else if (!strcmp (nom, "clean_txt"))
		clean_txt = (func_vtype1) addr;

	else if (!strcmp (nom, "cmpstar"))
		cmpstar = (func_itype2) addr;

	else if (!strcmp (nom, "compar"))
		compar = (func_vtypeM1) addr;

	else if (!strcmp (nom, "bot_conf_get_addr"))
		bot_conf_get_addr = (func_btype0) addr;

	else if (!strcmp (nom, "argu_to_string"))
		argu_to_string = (func_ctype4) addr;

	else if (!strcmp (nom, "bot_free_module_list"))
		bot_free_module_list = (func_vtypeml) addr;

	else if (!strcmp (nom, "bot_get_info_from_conf"))
		bot_get_info_from_conf = (func_stypec1u1) addr;

	else if (!strcmp (nom, "bot_get_module_list"))
		bot_get_module_list = (func_mltype0) addr;

	else if (!strcmp (nom, "bot_add_timeout_handler"))
		bot_add_timeout_handler = (func_thtypec1s1) addr;

	else if (!strcmp (nom, "str_replace"))
		str_replace = (func_ctype3c) addr;

	else if (!strcmp (nom, "bot_protect_time_module"))
		bot_protect_time_module = (func_vtype0) addr;

	else if (!strcmp (nom, "bot_unprotect_time_module"))
		bot_unprotect_time_module = (func_vtype0) addr;

	else if (!strcmp (nom, "bot_add_timeout_with_param_handler"))
		bot_add_timeout_with_param_handler = (func_thtypei1s1pv1ui1) addr;

	else if (!strcmp (nom, "strf"))
		strf = (func_stypes1list2) addr;

	else if (!strcmp (nom, "log_module_infof"))
		log_module_infof = (func_vtypes1list1) addr;

	else if (!strcmp (nom, "str_suppr"))
		str_suppr = (func_ctype2c) addr;

	else if (!strcmp (nom, "bot_send_rawf"))
		bot_send_rawf = (func_vtypes1list1) addr;

	else if (!strcmp (nom, "bot_send_noticef"))
		bot_send_noticef = (func_vtypes2list1) addr;

	else if (!strcmp (nom, "bot_send_privmsgf"))
		bot_send_privmsgf = (func_vtypes2list1) addr;

	else if (!strcmp (nom, "free_identity"))
		free_identity = (func_vtypeS1) addr;

	else if (!strcmp (nom, "bot_get_userlist"))
		bot_get_userlist = (func_sstypes1) addr;

	else if (!strcmp (nom, "bot_get_chanlist"))
		bot_get_chanlist = (func_sstypes1) addr;

	else if (!strcmp (nom, "multi_str_replace"))
		multi_str_replace = (func_stypes1list2) addr;

	else if (!strcmp (nom, "multi_str_suppr"))
		multi_str_suppr = (func_stypes1list2) addr;
  
	else if (!strcmp (nom, "bot_get_mask"))
		bot_get_mask = (func_stypes1) addr;
   
	else if (!strcmp (nom, "bot_rm_type_handler"))
		bot_rm_type_handler = (func_itype1) addr;
   
	else if (!strcmp (nom, "bot_rm_cmd_handler"))
		bot_rm_cmd_handler = (func_itype1) addr;
   
	else if (!strcmp (nom, "is_on_chan"))
		is_on_chan = (func_itype2) addr;
   
	else if (!strcmp (nom, "bot_set_handler_data"))
		bot_set_handler_data = (func_vtypehv2) addr;
   
	else if (!strcmp (nom, "bot_get_handler_data"))
		bot_get_handler_data = (func_pvtype0) addr;
   
	else if (!strcmp (nom, "bot_rm_timeout_handler"))
		bot_rm_timeout_handler = (func_itypeth1) addr;
   
	else if (!strcmp (nom, "bot_send_action"))
		bot_send_action = (func_vtype2) addr;
   
	else if (!strcmp (nom, "bot_send_actionf"))
		bot_send_actionf = (func_vtypes2list1) addr;
   
	else if (!strcmp (nom, "bot_add_type_hook"))
		bot_add_type_hook = (func_htypes2) addr;
   
	else if (!strcmp (nom, "bot_add_notice_hook"))
		bot_add_notice_hook = (func_htypes1) addr;
   
	else if (!strcmp (nom, "bot_add_privmsg_hook"))
		bot_add_privmsg_hook = (func_htypes1) addr;
   
	else if (!strcmp (nom, "bot_get_time_online"))
		bot_get_time_online = (func_uitype0) addr;
   
	else if (!strcmp (nom, "bot_rm_handler"))
		bot_rm_handler = (func_itypeh1) addr;
	
	else if (!strcmp (nom, "bot_get_my_handle"))
		bot_get_my_handle = (func_htype0) addr;
	
	else if (!strcmp (nom, "string_to_argu"))
		string_to_argu = (func_sstypescipi) addr;
	
	else if (!strcmp (nom, "bot_update_info_from_conf"))
		bot_update_info_from_conf = (func_itypes3u1) addr;
		
	else if (!strcmp (nom, "bot_add_fd_handler"))
		bot_add_fd_handler = (func_fdhtypei2s1pv1) addr;
	
	else if (!strcmp (nom, "bot_rm_fd"))
		bot_rm_fd = (func_itypei2) addr;

	else if (!strcmp (nom, "bot_rm_fd_handler"))
		bot_rm_fd_handler = (func_itypefdh1) addr;
		
	else if (!strcmp (nom, "strpndup"))
		strpndup = (func_stypes2i1) addr;
}

#endif
